/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package webshop;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;

/**
 * @date 29/10/2011
 * @author Niko
 */
@Entity
@NamedQueries({
@NamedQuery(name = "findAllClients", query = "SELECT a FROM Klanten a"),
@NamedQuery(name = "findClientsByName", query = "SELECT a FROM Klanten a WHERE a.achternaam = :achernaam AND a.voornaam = :voornaam")
})
public class Klant implements Serializable
{
    @Id @GeneratedValue
    private long id;
    
    @Column(nullable = false)
    private String voornaam;
    
    @Column(nullable = false)
    private String achternaam;
    
    @Column(nullable = false)
    private String adres;
    
    @Column(nullable = false)
    private String postcode;
    
    @Column(nullable = false)
    private String gemeente;
    
    @Column(nullable = false)
    private String telefoonnr;
    
    public Klant()
    {
        this("Onbekend", "Onbekend", "Onbekend", "Onbekend", "Onbekend", "Onbekend");
    }
    
    public Klant(String voornaam, String achernaam, String adres, String postcode, String gemeente, String telefoonnr )
    {
        setVoornaam(voornaam);
        setAchternaam(achternaam);
        setAdres(adres);
        setPostcode(postcode);
        setGemeente(gemeente);
        setTelefoonnr(telefoonnr);
    }

    public long getId() 
    {
        return id;
    }

    public String getVoornaam() 
    {
        return voornaam;
    }

    public void setVoornaam(String voornaam) 
    {
        if (voornaam == null || voornaam.equals(""))
            throw new IllegalArgumentException();
        else
            this.voornaam = voornaam;
    }

    public String getAchternaam() 
    {
        return achternaam;
    }

    public void setAchternaam(String achternaam) 
    {
        if (achternaam == null || achternaam.equals(""))
            throw new IllegalArgumentException();
        else
            this.achternaam = achternaam;
    }

    public String getAdres() 
    {
        return adres;
    }

    public void setAdres(String adres) 
    
    {
        if (adres == null || adres.equals(""))
            throw new IllegalArgumentException();
        else
            this.adres = adres;
    }

    public String getPostcode() 
    {
        return postcode;
    }

    public void setPostcode(String postcode) 
    {
        if (postcode == null || postcode.equals(""))
            throw new IllegalArgumentException();
        else
            this.postcode = postcode;
    }

    public String getGemeente() 
    {
        return gemeente;
    }

    public void setGemeente(String gemeente) 
    {
        if (gemeente == null || gemeente.equals(""))
            throw new IllegalArgumentException();
        else
            this.gemeente = gemeente;
    }

    public String getTelefoonnr() 
    {
        return telefoonnr;
    }

    public void setTelefoonnr(String telefoonnr) 
    {
        if (telefoonnr == null || telefoonnr.equals(""))
            throw new IllegalArgumentException();
        else
            this.telefoonnr = telefoonnr;
    }
}
